/**
 * 统一获取 creep 名称
 * 项目中想要获取某个 creep 的名字必须通过这里获取
 */
export class GetName {
    static taskManager = (roomName: string, index: number) => `${roomName} TM_${index}`
    static harvester = (roomName: string, index: number) => `${roomName} H_${index}`
    static manager = (roomName: string, index: number | string) => `${roomName} M_${index}`
    static worker = (roomName: string, index: number | string) => `${roomName} W_${index}`
    static remoteManager = (roomName: string, index: number | string) => `${roomName} RM_${index}`
    static remoteHarvester = (roomName: string, index: number) => `${roomName} RH_${index}`
    static wallFiller = (roomName: string, index: number | string) => `${roomName} WF_${index}`
    static upgrader = (roomName: string, index: number | string) => `${roomName} U_${index}`
    // static miner = (roomName: string) => `${roomName} miner`
    static processor = (roomName: string, index: number=0) => `${roomName} P_`
    static centerManager = (roomName: string, index: number=0) => `${roomName} CM_`
    // static claimer = (targetRoomName: string) => `${targetRoomName} claimer`
    static reserver = (targetRoomName: string, index: number=0) => `${targetRoomName} R_${index}`
    static attacker = (targetRoomName: string, index: number=0) => `${targetRoomName} A_${index}`
    static remoteWorker = (targetRoomName: string, index: number=0) => `${targetRoomName} RW_${index}`
    static centerLabManager = (targetRoomName: string, index: number=0) => `${targetRoomName} CLM_${index}`
    // static signer = (roomName: string) => `${roomName} signer`
    // static remoteBuilder = (remoteRoomName: string) => `${remoteRoomName} RemoteBuilder`
    // static remoteUpgrader = (remoteRoomName: string) => `${remoteRoomName} RemoteUpgrader`
    // static remoteHarvester = (remoteRoomName: string, sourceId: Id<Source>) => `${remoteRoomName} remoteHarvester${sourceId}`
    // static depositHarvester = (flagName: string) => `${flagName} depoHarvester`
    // static pbAttacker = (flagName: string, index: number) => `${flagName} attacker${index}`
    // static pbHealer = (flagName: string, index: number) => `${flagName} healer${index}`
    // static pbCarrier = (flagName: string, index: number) => `${flagName} carrier${index}`
    // static reiver = (roomName: string) => `${roomName} reiver ${Game.time}`
    // static soldier = (roomName: string, index: number) => `${roomName} soldier ${Game.time}-${index}`
    // static boostDoctor = (roomName: string) => `${roomName} doctor ${Game.time}`
    // static dismantler = (roomName: string, index: number) => `${roomName} dismantler ${Game.time}-${index}`
    // static boostDismantler = (roomName: string) => `${roomName} dismantler ${Game.time}`
    // static apocalypse = (roomName: string) => `${roomName} apocalypse ${Game.time}`
    static defender = (roomName: string) => `${roomName} defender`
    // static repair = (roomName: string, index: number) => `${roomName} defender${index}`
}
